1. Field of the Invention
The invention relates to telecommunications, and in particular to the processing of cells containing voice information to account for lost cells.
2. Description of the Prior Art
Transmission based on cell or packet technology is well known. In these systems, a sequence of information to be transmitted is broken into discreet segments called cells or packets (these will be referred to as cells hereinafter, as is known, cells are typically fixed length and packets are typically variable length). Typically, the cell information is referred to as the payload which contains user information bits and is given a header which includes network information bits to aid in identifying, checking, and routing the cell. The cells can then be transmitted across a network independently of other cells in the information sequence. Those skilled in the art are familiar with the advantages of such systems. One of the prominent systems is known as Asynchronous Transfer Mode (ATM). ATM employs a 53 byte cell which includes a 5 byte header and a 48 byte payload.
A major challenge currently facing the industry is the transmission of voice information using ATM cells. Various protocols have been developed for converting voice information into the ATM cell format and then back into a digital voice signal. These protocols are known as ATM Adaption Layers (AALs).
Digital voice information is commonly transmitted on the well known 64 kbit/second DS0 circuit. The DS0 bit stream has interface problems with ATM systems. As the voice cells egress from the ATM network, they are converted and placed on a DS0 circuit. The DS0 circuit requires 64,000 bits of information each second, but each cell only transmits 384 bits (48 bytes) of payload. Multiple cells must arrive and be processed each second to feed the DS0 circuit.
A DS0 circuit requires information from a new cell every 6 milliseconds. The 6 millisecond timing constraint derives from the 4 KHz voice bandwidth which is sampled at the Nyquist rate of 8000 samples/second for digital voice transmission. Each sample requires 8 bits (one byte) in current Pulse Code Modulation (PCM) techniques. As a result, a PCM voice signal produces 8000 bytes per second. Since ATM uses a 48 byte payload, 167 cells per second are required (8000/48=167) to transmit the PCM voice signal. Inverting this number shows that a cell must be processed every 6 milliseconds to transmit voice information from an ATM link to a DS0 link. In other words, Each cell can carry 6 milliseconds of voice information, and a cell must be processed every 6 milliseconds when the full payload is used to avoid gaps in the continuous DS0 voice signal.
Cells are sometimes lost during transmission or arrive at the egress point out of sequence. A problem is how to detect these cells and compensate for them. A delay in cell arrival greater than 6 milliseconds means there is no cell to transfer to the DS0--this is a lost cell condition. Also, mis-sequenced cells may arrive and the problem exists of how to detect and correct the sequence.
Although compensation for lost cells may not be critical for true voice communications due to the small amount of information lost, voice band modems experience significant problems given a 6 millisecond loss of information. The use of voice band modems has increased dramatically in recent years due to the proliferation of Personal Computer (PC) based communications over standard telephone lines.
Various attempts have been made to solve these problems. One solution is based on a sequence number which is placed in the payload of the cell. (ATM cells have no sequence number in the header) The sequence number of the cell can be used at the remote end to detect missing cells, and to provide the proper cell sequence. This system is lacking in that it wastes payload capacity carrying the sequence number. The system also requires additional logic to create and identify the sequence number, and additional buffering to realign the cells. The use of a sequence number also introduces delay because multiple cells must arrive before the sequence numbers can re-aligned.
Another solution is based on a detection window within the cell arrival interval. The cell arrival interval is the amount of time a cell has to arrive before a missing cell condition is created. For a DS0 circuit, cells carrying a 48 bytes of voice information must arrive every 6 milliseconds. The 6 milliseconds is the cell arrival window. If the payload size were to change, i.e from 48 bytes to 32 bytes, the interval would shrink because the DS0 would require cells more frequently.
Within the cell arrival interval, a cell detection window is calculated. Current calculations for the 6 millisecond interval put the cell detection window at 1 millisecond. If a cell arrives during the 1 millisecond detection window, it is assumed to be the correct cell. If no cell arrives during the detection window, a cell is assumed to be lost and compensation is then triggered. If a cell arrives during the interval, but outside of the detection window, the cell is assumed to be mis-sequenced and is discarded.
This system is also lacking in that it requires the calculation of a cell detection window. The window would need to be re-calculated for different cell arrival intervals. The system also requires a separate clock to time the detection window. Additional logic is required to detect if cells arrive in or out of the detection window and to trigger compensation based on this determination.
Lost cell compensation requires providing a replacement cell for the lost cell. The replacement cell is typically a white noise cell. A problem exists with using a white noise cell since an ATM cell only contains 48 bytes, there is not enough information to create a true white noise signal which includes energy spread statistically among multiple frequencies. A 48 byte white noise signal becomes a tone when repeated over and over.
Mis-sequenced cell compensation usually entails re-sequencing the cells through a buffer arrangement. Another technique is to discard mis-sequenced cells.
One system has used a sequence number to place cells in sequential addresses of a buffer. The cells are read out of the buffer in sequence. Silence data is written to each address after the address is read. In that way, cells which do not arrive are automatically replaced with silence data at that address. This system still has deficiencies in that a sequence number is used and additional buffering and logic are required. Additionally, the problem of providing white noise in the restricted cell payload is not addressed.
At present, a system is needed that converts cells containing voice information into a digital voice signal and compensates for lost and mis-sequenced cells with a minimum of logic and processing.